package Entita;

public class Localizzazione {
	private String nome="";
	private double valoreG;
	private double valoreD;
	private double valoreDd;
	private double valoreDim;
	private double valoreDi;
	
	
	Localizzazione(String nome, double valoreG, double valoreD, double valoreDd, double valoreDim, double valoreDi){
		this.nome=nome;
		this.valoreG=valoreG;
		this.valoreD=valoreD;
		this.valoreDd=valoreDd;
		this.valoreDim=valoreDim;
		this.valoreDi=valoreDi;
	}
	
	public static Localizzazione g(){
		return new Localizzazione("g", 0.75, 0.25, 0.00, 0.00, 0.00);
	}

	public static Localizzazione DG(){
		return new Localizzazione("DG", 0.50, 0.50, 0.00, 0.00, 0.00);
	}

	public static Localizzazione DdG(){
		return new Localizzazione("DdG", 0.50, 0.00, 0.50, 0.00, 0.00);
	}

	public static Localizzazione DD(){
		return new Localizzazione("DD", 0.00, 1.00, 0.00, 0.00, 0.00);
	}

	public static Localizzazione DdD(){
		return new Localizzazione("DdD", 0.00, 0.50, 0.50, 0.00, 0.00);
	}

	public static Localizzazione Gim(){
		return new Localizzazione("Gim", 1, 0.00, 0.00, 0.50, 0.00);
	}

	public static Localizzazione GDdim(){
		return new Localizzazione("GDdim", 1, 0.00, 0.00, 0.50, 0.00);
	}

	public static Localizzazione ImG(){
		return new Localizzazione("ImG", 0.75, 0.00, 0.00, 0.25, 0.00);
	}

	public static Localizzazione DdimG(){
		return new Localizzazione("DdimG", 0.75, 0.00, 0.00, 0.25, 0.00);
	}

	public static Localizzazione DDim(){
		return new Localizzazione("DDim", 0.00, 0.50, 0.00, 0.50, 0.00);
	}

	public static Localizzazione DimD(){
		return new Localizzazione("DimD", 0.00, 0.50, 0.00, 0.50, 0.00);
	}

	public static Localizzazione DDdim(){
		return new Localizzazione("DDdim", 0.00, 0.50, 0.00, 0.50, 0.00);
	}

	public static Localizzazione DdimD(){
		return new Localizzazione("DdimD", 0.00, 0.50, 0.00, 0.50, 0.00);
	}

	public static Localizzazione DdDim(){
		return new Localizzazione("DdDim", 0.00, 0.00, 0.50, 0.50, 0.00);
	}

	public static Localizzazione DimDd(){
		return new Localizzazione("DimDd", 0.00, 0.00, 0.50, 0.50, 0.00);
	}

	public static Localizzazione DdDdim(){
		return new Localizzazione("DdDdim", 0.00, 0.00, 0.50, 0.50, 0.00);
	}

	public static Localizzazione DdimDd(){
		return new Localizzazione("DdimDd", 0.00, 0.00, 0.50, 0.50, 0.00);
	}

	public static Localizzazione DGim(){
		return new Localizzazione("DGim", 0.50, 0.50, 0.00, 0.50, 0.00);
	}

	public static Localizzazione DdGim(){
		return new Localizzazione("DdGim", 0.50, 0.00, 0.50, 0.50, 0.00);
	}

	public static Localizzazione DGDdim(){
		return new Localizzazione("DGDdim", 0.50, 0.50, 0.00, 0.50, 0.00);
	}

	public static Localizzazione DdGDdim(){
		return new Localizzazione("DdGDdim", 0.50, 0.00, 0.50, 0.50, 0.00);
	}
	
	public static Localizzazione Di(){
		return new Localizzazione("Di", 0.00, 0.00, 0.00, 0.00, 1.00);
	}
	
	public static Localizzazione G(){
		return new Localizzazione("G", 1.00, 0.00, 0.00, 0.00, 0.00);
	}
	
	public static Localizzazione D(){
		return new Localizzazione("D", 0.00, 1.00, 0.00, 0.00, 0.00);
	}
	
	public static Localizzazione Dd(){
		return new Localizzazione("Dd", 0.00, 0.00, 1.00, 0.00, 0.00);
	}
	
	public static Localizzazione Dim(){
		return new Localizzazione("Dim", 0.00, 0.00, 0.00, 1.00, 0.00);
	}
	
	public static Localizzazione Da(){
		return new Localizzazione("Da", 0.00, 1.00, 0.00, 0.00, 0.00);
	}
	
	public static Localizzazione Dr(){
		return new Localizzazione("Dr", 0.00, 1.00, 0.00, 0.00, 0.00);
	}
	
	public static Localizzazione Ddim(){
		return new Localizzazione("Ddim", 0.00, 0.00, 0.00, 1.00, 0.00);
	}
	
	public static Localizzazione Ddi(){
		return new Localizzazione("Ddi", 0.00, 0.00, 1.00, 0.00, 0.00);
	}
	
	public static Localizzazione Dde(){
		return new Localizzazione("Dde", 0.00, 0.00, 1.00, 0.00, 0.00);
	}
	
	public static Localizzazione getLocalizzazione(String nome){
		if (nome.equals("g"))
			return g();
		
		if (nome.equals("DG"))
			return DG();
		
		if (nome.equals("DdG"))
			return DdG();
		
		if (nome.equals("DD"))
			return DD();
		
		if (nome.equals("DdD"))
			return DdD();
		
		if (nome.equals("Gim"))
			return Gim();
		
		if (nome.equals("GDdim"))
			return GDdim();
		
		if (nome.equals("ImG"))
			return ImG();
		
		if (nome.equals("DdimG"))
			return DdimG();
		
		if (nome.equals("DDim"))
			return DDim();
		
		if (nome.equals("DimD"))
			return DimD();
		
		if (nome.equals("DDdim"))
			return DDdim();
		
		if (nome.equals("DdimD"))
			return DdimD();
		
		if (nome.equals("DdDim"))
			return DdDim();
		
		if (nome.equals("DimDd"))
			return DimDd();
		
		if (nome.equals("DdDdim"))
			return DdDdim();
		
		if (nome.equals("DdimDd"))
			return DdimDd();
		
		if (nome.equals("DGim"))
			return DGim();
		
		if (nome.equals("DdGim"))
			return DdGim();
		
		if (nome.equals("DGDdim"))
			return DGDdim();
		
		if (nome.equals("DdGDdim"))
			return DdGDdim();
		
		if (nome.equals("Di"))
			return Di();
		
		if (nome.equals("G")||nome.equals("G sincr.")||nome.equals("G sint.")||nome.equals("G anal.")||nome.equals("G simul.")||nome.equals("G succ.")||nome.equals("G conf.")||nome.equals("G cont.")||nome.equals("G bil."))
			return G();
		
		if (nome.equals("D"))
			return D();
		
		if (nome.equals("Dd"))
			return Dd();
		
		if (nome.equals("Dim"))
			return Dim();
		
		if (nome.equals("Ddim"))
			return Ddim();
		
		if (nome.equals("Da"))
			return Da();
		
		if (nome.equals("Dr"))
			return Dr();
		
		if (nome.equals("Ddi"))
			return Ddi();
		
		if (nome.equals("Dde"))
			return Dde();
		
		return new Localizzazione(nome, 0.0, 0.0, 0.0, 0.0, 0.0);
	}
	
	public String getNome() {
		return nome;
	}

	public double getValoreG() {
		return valoreG;
	}

	public double getValoreD() {
		return valoreD;
	}

	public double getValoreDd() {
		return valoreDd;
	}

	public double getValoreDim() {
		return valoreDim;
	}

	public double getValoreDi() {
		return valoreDi;
	}

	@Override
	public String toString() {
		return nome;
	}
	
	

}
